package com.sanji.pay.sys.domain;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.sanji.pay.common.base.domain.BaseEntity;

import javax.persistence.*;
import java.util.Date;

/**
 * 描述: 账户
 * 包名: com.sanji.pay.account
 * 作者: ChenGuop.
 * 日期: 2017/09/19 上午9:38.
 * 项目名称: sanji-pay
 * 版本: 1.0
 * JDK: since 1.8
 */
//@JsonIgnoreProperties({"hibernateLazyInitializer", "news"})
@Entity
@Table(name = "sys_account")
public class Account {
  @Id
  @JoinColumn(name = "user_id")
  private Long userId;//主键关联userDetail

  @Transient
  private UserDetails userDetails;
  private String cusId;//商户号
  private String appId;//应用id
  private String appKey;//接口对接key

  private String name;//商户名称
  private String payType;//支付方式:yeePay-网银，Alipay-支付宝，WeChat-微信,HDF-货到付款，wallet-钱包
  @Temporal(TemporalType.TIMESTAMP)
  @Column(updatable = false)
  private Date createdTime;

  @Temporal(TemporalType.TIMESTAMP)
  private Date modifiedTime;

  private String remark;


  public Long getUserId() {
    return userId;
  }

  public void setUserId(Long userId) {
    this.userId = userId;
  }

  public UserDetails getUserDetails() {
    return userDetails;
  }

  public void setUserDetails(UserDetails userDetails) {
    this.userDetails = userDetails;
  }

  public String getCusId() {
    return cusId;
  }

  public void setCusId(String cusId) {
    this.cusId = cusId;
  }

  public String getAppId() {
    return appId;
  }

  public void setAppId(String appId) {
    this.appId = appId;
  }

  public String getAppKey() {
    return appKey;
  }

  public void setAppKey(String appKey) {
    this.appKey = appKey;
  }

  public String getName() {
    return name;
  }

  public void setName(String name) {
    this.name = name;
  }

  public String getPayType() {
    return payType;
  }

  public void setPayType(String payType) {
    this.payType = payType;
  }

  public Date getCreatedTime() {
    return createdTime;
  }

  public void setCreatedTime(Date createdTime) {
    this.createdTime = createdTime;
  }

  public Date getModifiedTime() {
    return modifiedTime;
  }

  public void setModifiedTime(Date modifiedTime) {
    this.modifiedTime = modifiedTime;
  }

  public String getRemark() {
    return remark;
  }

  public void setRemark(String remark) {
    this.remark = remark;
  }
}
